package com.aliyun.heiyu.powermaster.server.manager;

import com.aliyun.heiyu.powermaster.proto.*;
import com.aliyun.heiyu.powermaster.server.dao.entity.DeviceCommonEntity;

import java.util.List;
import java.util.Map;

public interface ThunderManager {
    public Map<String, String> getPowerInfoData(String sn, String type);

    public PowerInfo getPowerInfo(String sn, String type);

    public PowerInfo getPowerInfo(String sn);

    public Map<String, PowerInfo> getPowerInfo(List<DeviceCommonEntity> deviceCommonList);

    public Map<String, PowerInfo> getServerPowerInfo(List<DeviceCommonEntity> deviceCommonList);

    public Map<String, PowerInfo> getServerPowerInfo(String[] serverIdArray);

    public Map<String, PowerInfo> getAllServerPowerInfo();

    public List<PowerInfo> getServerPowerInfoByTime(String[] sns, String startTime, String endTime);

    public Boolean setPower(SetPowerRequest request);

    public Boolean getStatusOfCapping(String sn);

    public Boolean getStatusOfPowerOff(String sn);

    public Boolean getStatusOfDvfs(String sn);

    public Boolean operateDvfs(int action, String sn);

    public Boolean getStatusOfCstate(String sn);

    public Boolean operateCstate(int action, String sn);

    public GetWarningDataReply getWarningData();

    public SeniorReply senior();

    public Map<String, String> getServerPowerInfoBefore(String sn, Integer position);

    public GetServerInfoReply getServerInfos(String field);

    ModifyAirTempReply modifyAirTemp(ModifyAirTempRequest request);

    public PowerInfo getMaxOne(String deviceId, String startTime, String endTime);

}
